result[i] = (big << 4) | little;
}
- return g_variant_new_fixed_array (G_VARIANT_TYPE ("y"),
- (guchar*)result, 32, 1);
+ return ot_gvariant_new_bytearray ((guchar*)result, 32);
}
char *
/* TODO - define and compute bloom filter */
- ret_bloom = g_variant_new_fixed_array (G_VARIANT_TYPE ("y"), NULL, 0, 1);
+ ret_bloom = ot_gvariant_new_bytearray (NULL, 0);
g_variant_ref_sink (ret_bloom);
ret = TRUE;
#include "otutil.h"
+GVariant *
+ot_gvariant_new_bytearray (const guchar *data,
+ gsize len)
+{
+ gpointer data_copy;
+ GVariant *ret;
+
+ data_copy = g_memdup (data, len);
+ ret = g_variant_new_from_data (G_VARIANT_TYPE ("ay"), data_copy,
+ len, FALSE, g_free, data_copy);
+ return ret;
+}
+
GHashTable *
ot_util_variant_asv_to_hash_table (GVariant *variant)
{
*a_v = NULL; \
} while (0);
+GVariant *ot_gvariant_new_bytearray (const guchar *data,
+ gsize len);
+
GHashTable *ot_util_variant_asv_to_hash_table (GVariant *variant);
GVariant * ot_util_variant_take_ref (GVariant *variant);
packed_object = g_variant_new ("(uy@ay@ay)", GUINT32_TO_BE ((guint32)objtype),
entry_flags,
ostree_checksum_to_bytes (checksum),
- g_variant_new_fixed_array (G_VARIANT_TYPE ("y"),
- data, data_len,
- 1));
+ ot_gvariant_new_bytearray (data, data_len));
g_clear_object (&object_data_stream);
}